/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.laporanrekapitulasipendapatan;

import java.util.List;
import java.util.Map;
import org.sadhar.sia.common.ClassConnection;

/**
 *
 * @author kris
 */
public class LaporanRekapitulasiPendapatanDAOImpl implements LaporanRekapitulasiPendapatanDAO {

    public LaporanRekapitulasiPendapatanDAOImpl() {
        ClassConnection.getTransactionProxyFactoryBean().setTarget(this);
    }

    public List<Map> getTahunFromPosPendapatanUnit() throws Exception {
        String sql = "select DISTINCT tahunAnggaran from ppmk.posAnggaranPendapatanUnit";
        List<Map> result = ClassConnection.getJdbc().queryForList(sql);
        return result;
    }

    public List<Map> getNamaUnitKerja(String tahun) throws Exception {
        String sql = "select DISTINCT Nama_unit_kerja from laporanRekapitulasiPendapatanView " +
                " WHERE tahunAnggaran=?";
        List<Map> result = ClassConnection.getJdbc().queryForList(sql, new Object[]{tahun});
        return result;
    }

    public List<Map> getPosPendapatan(String tahun) throws Exception {
        String sql = "select DISTINCT posPendapatan from laporanRekapitulasiPendapatanView " +
                " WHERE tahunAnggaran=?";
        List<Map> result = ClassConnection.getJdbc().queryForList(sql, new Object[]{tahun});
        return result;
    }

    public Double getHasil(String tahunAnggaran, String namaUnit, String namaPos) throws Exception {
        List<Map> result = ClassConnection.getJdbc().queryForList("" +
                "select Nama_unit_kerja,posPendapatan,total from laporanRekapitulasiPendapatanView where tahunAnggaran=? and" +
                " Nama_unit_kerja=? and posPendapatan=?",
                new Object[]{tahunAnggaran, namaUnit, namaPos});
        Double hasil = null;
        for (Map map : result) {
            hasil = Double.valueOf(map.get("total").toString());
        }
        return hasil;
    }
}
